
// 导入两个自定义组件
import ArticleItem from '@/components/ArticleItem'
import ArticleList from '@/components/ArticleList'

// 导入定义时间的函数--格式化时间的方法
import { timeAgo } from '@/utils/time'

import focus from '@/directive/index'

// 自定义插件对象
const My = {
  // 必须提供 install 方法，接收Vue构造函数参数
  install (Vue) {
    // 拿到了Vue构造函数，可以在插件内部如如下扩展：
    // 1.注册全局组件 Vue.component
    // 组件不能用use注册
    // 组件对象的name属性作用：1.用于在调试工具中快速查找指定组件；2.用于组件注册时的组件名
    Vue.component(ArticleItem.name, ArticleItem)
    Vue.component(ArticleList.name, ArticleList)
    // 2.定义全局指令 Vue.directive
    Vue.directive('focus', focus)
    // 3.给Vue的原型添加方法 Vue.prototype.xxxx
    // 把 timeAgo 挂载到Vue.prototype上
    Vue.prototype.$timeAgo = timeAgo
    console.log('install被调用了', Vue)
  }
}

export default My
